/**
 * @file ethercat_config.h
 * @brief EtherCAT主站配置文件
 * 
 * 该文件提供了EtherCAT主站的配置选项
 */

#ifndef ETHERCAT_CONFIG_H
#define ETHERCAT_CONFIG_H

#include "ethercat_interface.h"

/**
 * @brief 从配置文件加载EtherCAT主站类型
 * 
 * 如果配置文件不存在或读取失败，则返回默认类型
 * 
 * @param config_file 配置文件路径，如果为NULL则使用默认路径
 * @return EtherCAT主站类型
 */
EtherCATMasterType load_master_type_from_config(const char *config_file);

/**
 * @brief 保存EtherCAT主站类型到配置文件
 * 
 * @param type EtherCAT主站类型
 * @param config_file 配置文件路径，如果为NULL则使用默认路径
 * @return 成功返回true，失败返回false
 */
bool save_master_type_to_config(EtherCATMasterType type, const char *config_file);

/**
 * @brief 获取默认的网络接口名称
 * 
 * @param ifname 存储接口名称的缓冲区
 * @param size 缓冲区大小
 * @return 成功返回true，失败返回false
 */
bool get_default_interface(char *ifname, size_t size);

#endif /* ETHERCAT_CONFIG_H */